home *** CD-ROM | disk | FTP | other *** search
- /*
- ** $VER: DVIprint.rexx 1.0 (02.01.1996)
- **
- ** ©1996 Stefan Scherer
- **
- ** ruft den DVI-Printer über ARexx auf.
- ** Achtung: Pfad ist nur aktuelles Verzeichnis und "C:"!!
- **
- ** Hilfreich z.B. für AmiTCP zum Drucken auf Netzwerkdruckern. Durch
- ** Setzen der Environmentvariable PRINTREMOTE wird mit lpr gedruckt.
- **
- ** Parameter: 1 HOFFSET=%ldtruemm
- ** 2 VOFFSET=%ldtruemm
- ** 3 FROM
- ** 4 1
- ** 5 TO
- ** 6 1000
- ** 7 PRINTER
- ** 8 %s (Druckername)
- ** 9 LAND 9 UNI
- ** 10 UNI 10 off
- ** 11 off 11 NOLOG
- ** 12 NOLOG 12 %s.dvi
- ** 13 %s.dvi
- */
-
- OPTIONS RESULTS
-
-
- REMOTE = Word(MyGetEnv("PRINTREMOTE"),1)
- If "" = REMOTE Then
- REMOTE = "0"
- Endif
-
- /* lies die Parameter, die normalerweise ShowDVI direkt bekommen würde */
-
- PARSE ARG Parameters
-
-
- Dummy = WORD(Parameters,9)
-
- IF Dummy = "LAND" THEN
- DO
- File = WORD(Parameters, 13)
- END
- ELSE
- DO
- File = WORD(Parameters, 12)
- END
-
- Dir = PRAGMA("DIRECTORY")
-
- If Right(Dir,1)~=':' & Right(Dir,1)~='/' THEN
- Dir = Dir||'/'
-
- say "Starte DVIprint..."
-
- Address COMMAND
-
- If "0" = REMOTE Then
- DO
-
- /* normalerweise nur DVIprint starten */
- 'TeX:bin/dviprint '||Parameters
-
- END
- ELSE
- DO
-
- /* convert to PostScript */
- 'TeX:bin/dvips '||File
-
- /* print it on network printer */
- PSFile = Left(File,Length(File)-4)||'.ps'
- 'amitcp:bin/lpr -Plp '||PSFile
-
- END
- Exit
-
-
-
-
- MyGetEnv: PROCEDURE
- /*
- ** when will ARexx supply GetEnv/SetEnv ?
- */
- Parse Arg NAME
-
- If Open(TEMPFILE,"ENV:"||NAME,'r') Then Do
- GIVES = Readln(TEMPFILE)
- Call Close TEMPFILE
- End; Else
- GIVES = ""
-
- Return GIVES
-
-
-
- MySetEnv: PROCEDURE
- Parse Arg NAME,CONTENT
-
- Address COMMAND "SetEnv" NAME CONTENT
-
- Return
-